const express = require('express')
const router = express.Router()
//涉及修改密码
// .导入expreJoi接口数据的验证
const expressJoi = require('@escook/express-joi')
// 导入路由处理模块,然后去router_handle写对应处理函数
const userinfoHandler = require('../router_handle/userinfo.js')
//------------------------------------------------------------------------------------
const {
	name_limit,email_limit,password_limit,forgetPassword_limit
} = require('../limit/user.js')
//------------------------------------------------------------------------------------
// 添加接口路由  
//1.上传头像
router.post('/uploadAvatar', userinfoHandler.uploadAvatar)
//2.头像绑定账号
router.post('/bindAccount', userinfoHandler.bindAccount)
//3.获取信息
router.post('/getUserInfo', userinfoHandler.getUserInfo)
//4.修改姓名
router.post('/changeName',expressJoi(name_limit), userinfoHandler.changeName)
//5.修改性别接口
router.post('/changeSex', userinfoHandler.changeSex)
// 6.修改邮箱接口 
router.post('/changeEmail',expressJoi(email_limit), userinfoHandler.changeEmail)
// 7. 修改用户密码接口
router.post('/changePassword',expressJoi(password_limit), userinfoHandler.changePassword)
// 8.验证账号和邮箱接口
router.post('/verifyAccountAndEmail',userinfoHandler.verifyAccountAndEmail)
 // 9.登录页面修改密码接口
 router.post('/changePasswordInLogin',expressJoi(forgetPassword_limit),userinfoHandler.changePasswordInLogin)
// --------------------------------------------------------
// 1.新增管理员
router.post('/createAdmin',userinfoHandler.createAdmin)
//2.获取管理员列表
router.post('/getAdminList',userinfoHandler.getAdminList)
// 编辑管理员账号信息
router.post('/editAdmin',userinfoHandler.editAdmin)
// 对管理员取消赋权
router.post('/changeIdentityToUser',userinfoHandler.changeIdentityToUser)
// 对用户进行赋权
router.post('/changeIdentityToAdmin',userinfoHandler.changeIdentityToAdmin)
// 通过账号对用户搜索
router.post('/searchUser',userinfoHandler.searchUser)
// 通过部门对用户搜索
router.post('/searchUserByDepartment',userinfoHandler.searchUserByDepartment)
// 冻结用户
router.post('/banUser',userinfoHandler.banUser)
// 解冻用户
router.post('/hotUser',userinfoHandler.hotUser)
// 获取冻结用户列表
router.post('/getBanList',userinfoHandler.getBanList)
// 删除用户 deleteUser
router.post('/deleteUser',userinfoHandler.deleteUser)
// 获取对应身份的一个总人数
router.post('/getAdminListLength',userinfoHandler.getAdminListLength)
// 监听换页返回数据
router.post('/returnListData',userinfoHandler.returnListData)

//暴露路由
module.exports = router